<?php
/**
 * <https://y.st./>
 * Copyright © 2018 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'Strange data loss',
	'<{body}>' => <<<END
<section id="taxes">
	<h2>Drudgery</h2>
	<p>
		I finally set about filing my taxes today.
		I started working with the same service I used last year, but they wanted to charge me for my state return this time, so I looked for another state tax-filing option.
		I found the link to get the service I used to file a state return gratis, but as I&apos;d already given them my information this year, they refused to let me use the gratis option after finding it.
	</p>
	<p>
		I found another service, which seemed better than most at first.
		They requested three telephone numbers: a main number, a mobile number, and a foreign number, but they also had a check box to indicate that you have no valid $a[US] number.
		However, upon checking that and submitting the form, they demand a mobile number; but they also add a new check box for indicating you have none.
		Upon submitting <strong>*that*</strong> form though, they demand a foreign number.
		As long as you tell them you have no $a[US] number, there&apos;s no way to get out of giving them a foreign number.
		I don&apos;t have time for this scrap though, and they didn&apos;t allow phrases such as &quot;no telephone service&quot;, so I just told them my number is <code>0</code>.
		Let&apos;s just see them try to call that and reach the operator or something.
	</p>
	<p>
		Anyway, my taxes have been filed now, but I need to remember next year not to follow the links my tax preparer sends me.
		Instead, I need to reach their website through the link provided by my state&apos;s website.
	</p>
</section>
<section id="Minetest">
	<h2>Minetest log</h2>
	<p>
		Over the past several days, I&apos;ve been testing new code but never mining.
		The tropical coral reef is really taking over my arctic island.
		I don&apos;t really have a way to keep the coral out of the arctic, but I do need to add some more limiters to the coral spread.
		I&apos;ve made coral not generate too far from sand, to start with.
		That&apos;ll keep it from continuing to spread out as a layer across the ocean like it&apos;s been threatening to do.
		I&apos;ve also made it spread slower.
		I won&apos;t be able to really see the effects of the new code though until I totally wreck the reef in about eight days.
		I&apos;ll clear out all the coral, just so I&apos;ll see when the new coral starts to grow and how fast it spreads.
	</p>
	<p>
		I have no idea what happened, but everything in my world mods directory disappeared on me.
		It doesn&apos;t seem to exist on my filesystem any more.
		Included here was the unreleased <code>yellow</code> mod.
		No copies of this exist, so the mod is just gone now.
		An unreleased custom interface mod was here as well.
		My only local copies of <code>blockprotectnodes</code>, <code>minestats</code>, and <code>minestats_sfinv</code> were here, but I have copies in remote repositories.
		The only existing copies of <code>arborist</code>, <code>antifire</code> and <code>drop_hack</code> were here, but I can rebuild those.
		It&apos;ll be a slight pain, but I can do it.
		I don&apos;t recall what else was there.
		The biggest loss was everything <code>minequest</code>-related.
		Thankfully, <code>minequest</code> proper&apos;s only irreplaceable file was open in Geany at the time; I&apos;ve saved it elsewhere, preserving its contents.
		<code>yellow</code> was lost in its entirety.
		I poured so much into that mod ... I guess it&apos;s true that I&apos;d decided to go in a different direction and not use that mod in my own world, but I hadn&apos;t entirely written its replacement yet and I hadn&apos;t broken dependence on it yet.
		I was also considering actually releasing it, though not quite yet.
	</p>
	<p>
		Unsatisfied, I tried to replicate the issue.
		All I&apos;d used were Git and Minetest, and I was sure Git hadn&apos;t done this.
		Either Minetest had done this, or something on my system had had a freak malfunction that just happened to affect one of the main directories I was working with at the time.
		I have terrible luck, but even <strong>*my*</strong> luck&apos;s not usually <strong>*that*</strong> bad, at least not with such precision.
		I mean, I could loose the entire drive, but I wouldn&apos;t lose only this directory.
		I managed to work out the steps to repeat the problem, and in doing so, I found the cause.
		It seems Minetest deletes the contents of symlinked directories instead of the symlink itself, for symlinks in the world directories of worlds that get deleted.
		I&apos;d been using symlinks to an outer directory to avoid losing my mods when removing a world, and instead, that <strong>*caused*</strong> the mods to be lost.
		I&apos;ve now filed a <a href="https://github.com/minetest/minetest/issues/7201">bug report</a>.
	</p>
	<p>
		I was struggling to remember what all was in that directory; what all was lost.
		For piece of mind, I needed to figure out what mods weren&apos;t lost, which ones were lost and didn&apos;t matter, and which would need to be rebuilt.
		I racked my brain, but couldn&apos;t be sure I&apos;d remembered everything.
		By the time my visit with my mother today concluded though, I&apos;d realised how I actually needed to look at that directory.
		That directory housed the mods used in my main world; in other words, the mods I actually care about.
		(All mods I don&apos;t really use were spared.)
		These could be broken down into three categories: mods that were complete, mods that were incomplete, and mods that were there for legacy reasons and would be removed once I&apos;d completed a replacement for them.
		Completed mods were released; I already cloned them back to my machine from the Internet before I left home.
		The main incomplete mods were the contents of the Minequest Modpack; I&apos;d savaged the parts of that that were most important.
		All I need to do is think about what was incomplete but planned to belong in my world and what was was obsolete in my world but not yet replaced.
		This was a much simpler thing to try to come up with.
	</p>
	<p>
		I think what I&apos;ve lost (aside from some little things in the Minequest Modpack is just <code>yellow</code>, <code>antifire</code>, <code>drop_hack</code>, and <code>arborist</code>.
		<code>drop_hack</code> needs to have it&apos;s <code>minequest</code> equivalent programmed before the term begins.
		This is not optional, so I need to turn my focus to that now.
		<code>arborist</code>&apos;s functionality would be nice to have programmed into the Minequest Modpack, but it can wait a bit.
		<code>yellow</code>&apos;s replacement is all but complete.
		I need to clean up the code a bit, but more importantly, I need to decide upon which item will bear this ability when placed in the deck.
		<code>antifire</code> ... won&apos;t be urgent until I&apos;m about to make the world public.
		Plus it needed some cleanup as far as implementation.
		And it needed to be renamed, as the name <code>antifire</code> turned out after I&apos;d named the mod to be taken by another mod already, one that&apos;s been around much longer than mine.
		Don&apos;t get me wrong, the loss of <code>yellow</code> was killer.
		However, I think it was the only thing of real value that I <strong>*did*</strong> lose.
		I need to focus in a different area to recover now, but it&apos;s an area I&apos;d focus in eventually anyway.
		Oh.
		Yeah.
		I also lost <code>10</code>, which was responsible for the functionality of my custom, world-specific $a[HUD].
		It&apos;ll be a pain to reprogram, but I can recover most of the code from the <code>minestats_hud</code> mod.
	</p>
</section>
END
);
